package basis.netease.easy;

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Scanner;

/**
 * 7-24 合并 K 个升序链表
 * 给定一个链表数组，每个链表都已经按升序排列。
 * 请将所有链表合并到一个升序链表中，返回合并后的链表。
 * 提示：
 * k == lists.length
 * 0 <= k <= 10^4
 * 0 <= lists[i].length <= 500
 * -10^4 <= lists[i][j] <= 10^4
 * lists[i] 按 升序 排列
 * lists[i].length 的总和不超过 10^4
 * 数值都是整数
 * 输入格式:
 * lists = [[1,4,5],[1,3,4],[2,6]]
 * 输出格式:
 * [1, 1, 2, 3, 4, 4, 5, 6]
 * 格式说明：
 * 输入和输出需要参照以下样例的数据规范
 * 注意：输出数字前有空格（参考样例）；空列表以“[]” 表示
 * 输入样例:
 * 在这里给出一组输入。例如：
 * [[1,4,5],[1,3,4],[2,6]]
 * 输出样例:
 * 在这里给出相应的输出。例如：
 * [1, 1, 2, 3, 4, 4, 5, 6]
 */
public class Main_18 {

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String str = scanner.nextLine();
        str = str.replaceAll("\\[\\[", "").replaceAll("\\]\\]", "");
        String[] rows = str.split("\\],\\[");
        List<Integer> rowList = new ArrayList<>();
        for (String row : rows) {
            if ("[]".equals(row) || "".equals(row)) {
                continue;
            }
            String[] numbers = row.split(",");
            for (String number : numbers) {
                rowList.add(Integer.parseInt(number));
            }
        }
        Collections.sort(rowList);
        System.out.println(rowList);
    }

}
